____ _ _ _ _
| _ \ ___ | |_ (_) _ __ ___ __| | (_) __ _
| |_) | / _ \ | __| | | | '_ \ / _ \ / _| | | | / _ |
| _ < | __/ | |_ | | | |_) | | __/ | (_| | | | | (_| |
|_| \_\ \___| \__| |_| | .__/ \___| \__,_| |_| \__,_|
|_|
- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b
Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―
Embedded C++
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
top
Embedded C++ (EC++, ECPP) ist eine von C++ abgeleitete Programmiersprache mit einem gegenΓΌber C++ eingeschrΓ€nkten Funktionsumfang. Embedded C++ wurde von einem Industriekonsortium verschiedener japanischer Chip-Hersteller, darunter NEC, Hitachi, Fujitsu, und Toshiba fΓΌr eingebettete Systeme mit geringen Ressourcen wie z. B. Programm- und Arbeitsspeicher entwickelt. Das erklΓ€rte Ziel war die Schaffung einer Programmiersprache, welche die wichtigsten zur objektorientierten Programmierung in C++ eingefΓΌhrten Sprachmittel unterstΓΌtzt, dabei aber geringere CodegrΓΆΓe, hΓΆhere Effizienz und einfachere Erstellung von Compilern fΓΌr eingebettete Mikrocontroller ermΓΆglichen soll.
Contents
β’ Kritik
β’ Quellen
β’ Weblinks
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Fehlende Eigenschaften
Die erste Spezifikation zu Embedded C++ wurde 1996 herausgegeben, die aktuelle Revision 3 wurde 1999 verΓΆffentlicht. Embedded C++ ist als Untermenge von C++ definiert, wobei auf folgende Eigenschaften von C++ verzichtet wurde:
β’ Virtuelle Basisklassen
β’ TypΓΌberprΓΌfung zur Laufzeit
β’ Die Typumwandlungskonstrukte (static_cast, dynamic_cast, reinterpret_cast und const_cast)
β’ Der Spezifizierer mutable
β’ NamensrΓ€ume
β’ Ausnahmen (Exceptions)
β’ generische Programmierung (Templates)
Kritik
Die Sprache wurde insbesondere von erfahrenen C++-Programmierern abgelehnt, der bekannteste Kritiker ist der C++-Erfinder Bjarne Stroustrup. Stroustrup kritisiert hier vor allem den Verlust von C++-typischen Eigenschaften sowie die fehlende UnterstΓΌtzung der C++-Standardbibliothek durch EC++. Des Weiteren warnt Stroustrup vor einer Entzweiung der Community um C++.cite-ref-stroustrupfaq-1-0[1] Als Alternative nennt Stroustrup die Verwendung von Coding Standards fΓΌr C++cite-ref-jsf-2-0[2] und die Empfehlungen durch das ISO C++ Committeecite-ref-isocppperformance-3-0[3], um effizienten C++-Code fΓΌr eingebettete Systeme zu erstellen.
Ein weiterer Kritikpunkt ist, dass Embedded C++ fΓΌr die Anwendung auf 32-Bit-Prozessoren ausgelegt ist, anstatt sich auf den groΓen Markt der ressourcenschwachen 8/16-Bit-Prozessoren zu konzentrieren.
Der Embedded-C++-Standard wird nur von wenigen Compilern unterstΓΌtzt.
Quellen
cite-note-stroustrupfaq-11. β Stroustrup: FAQ - What do you think of EC++?
cite-note-jsf-22. β JSF air vehicle C++ coding standards
cite-note-isocppperformance-33. β Technical Report on C++ Performance
Weblinks
β’ offizielle Embedded C++ Homepage
β’ P. J. Plauger: Embedded C++: An Overview in: Embedded Systems Programming, Dezember 1997